100 PRINT "[147]" 110 PRINT"THE GENERALIZED CUBIC" 120 PRINT"EQUATION HAS THE FORM" 130 PRINT"A*X^3+B*X^2+C*X+D = 0":PRINT 140 PRINT"A,B,C,D ARE CALLED THE";:PRINT" COEFFICIENTS. THIS" 150 PRINT"PROGRAM SOLVES FOR ALL"; 160 PRINT"THREE VALUES OF X THAT"; 170 PRINT"WILL SATISFY THE CUBIC"; 180 PRINT" EQUATION FOR A GIVEN" 190 PRINT" SET OF COEFFICIENTS.":PRINT 200 PRINT"FOR SOME COEFFICIENTS,"; 210 PRINT" 2 OF THE 3 SOLUTIONS" 220 PRINT"ARE COMPLEX CONJUGATES" 230 PRINT"IN THESE CASES WE USE" 240 PRINT " ";CHR$(34);"J";CHR$(34);"=SQR(-1)" 250 PRINT:PRINT:PRINT"PRESS ANY KEY TO GO ON"; 260 GET G$:IF G$="" THEN 260 270 PRINT"[147]" 280 PRINT"FOR THE CUBIC EQUATION":PRINT"THAT YOU WANT TO SOLVE" 290 PRINT"ENTER THE COEFFICIENTS" 300 PRINT" STARTING WITH THE":PRINT:PRINT" CUBIC TERM" 310 INPUT A1,A2,A3,A4 320 P=A2/A1:Q=A3/A1:R=A4/A1 330 A=(3*Q-P^2)/3:B=(2*P^3-9*P*Q+27*R)/27 340 D=B^2/4+A^3/27 350 BO=ABS(B^2/4)+ABS(A^3/27) 360 IF ABS(D)/BO<1E-7 THEN D=0 370 IF D>0 THEN PRINT"[147]THERE IS ONE REAL ROOT":PRINT" AND A CONJUGATE PAIR":GOSUB610 380 IF D=0 THEN PRINT"[147]THERE ARE THREE REAL":PRINT"ROOTS-AT LEAST 2 EQUAL":GOSUB610 390 IF D<0 THEN PRINT"[147] THERE ARE THREE REAL":PRINT" AND UNEQUAL ROOTS":GOSUB610 400 AQ=-B/2+SQR(D):S=SGN(AQ):AQ=AQ*S 410 CA=S*EXP(LOG(AQ)/3) 420 BQ=-B/2-SQR(D):S=SGN(BQ):BQ=BQ*S 430 CB=S*EXP(LOG(BQ)/3) 440 PRINT "[147] THE REAL ROOT IS" 450 PRINT TAB(3)CA+CB-P/3 460 PRINT " THE PAIRED ROOTS ARE" 470 IF D=0 THEN PRINT TAB(3)-(CA+CB)/2-P/3:GOTO 600 480 RE$=STR$(-(CA+CB)/2-P/3):RE$=RIGHT$(RE$,LEN(RE$)-1) 490 IM$=STR$(SQR(3)*(CA-CB)/2):IM$=RIGHT$(IM$,LEN(IM$)-1) 500 IFD>0THEN PRINT TAB(3)RE$;:IF(21-POS(X))>LEN(IM$)+3 THEN PRINT"+/-";IM$;"J":GOTO600 510 PRINT:PRINT TAB(5)"+/-";IM$;"J":GOTO600 520 CP=-B/2/SQR(-A^3/27) 530 PH=-ATN(CP/SQR(1-CP^2))+(null)/2 540 CM=2*SQR(-A/3) 550 X1=CM*COS(PH/3):X2=CM*COS((PH+2*(null))/3):X3=CM*COS((PH+4*(null))/3) 560 PRINT "[147] THE THREE ROOTS ARE" 570 PRINT TAB(3) X1-P/3 580 PRINT TAB(3) X2-P/3 590 PRINT TAB(3) X3-P/3 600 END 610 FOR J=1 TO 1500:NEXT 620 IF D<0 THEN 520 630 GOTO 400 640 RETURN 650 DATA234,234,234,96 660 PRINT TAB(3) X1-P/314 PRINT TAB(3) X2-P/3